Communication networks and communication systems of today become more and more complex. Further, different communication networks and communication systems should be able to interact with each other to a high degree. One example is a user of a client being located in a communication network of a first type wanting to make use of a service being offered in a communication network of a second type.
A more specific example is a client in the Internet wanting to access a Session Initiation Protocol (SIP) service on a SIP based communication network. In this example, the Internet cannot comply with the requirements of the standard SIP transport protocols, such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). The client only has access to Hypertext Transport Protocol (HTTP) protocol.
One example of a solution for enabling a client on one communication network to access a service on another communication network is using a gateway where an application-specific protocol is used, e.g. a Simple Object Access Protocol (SOAP), to send commands to a gateway and the gateway sends and receives the necessary signals, including SIP messages, to implements such a high-level functionality.
Another example is using a close mapping between the SIP messages and the HTTP messages. In this example, a mapping between HTTP session states—identified by cookies—and the SIP dialog and transaction states is used. This means the SIP messages and the HTTP messages have a one-to-one relationship to each other and the initiating HTTP message carries many elements of the resulting SIP message, e.g. Session Description Protocol (SDP) is directly transmitted over HTTP. The gateway, however, maintains and generates SIP dialog and transaction information, e.g. dialog tags and transaction branches.
Yet another example is transferring SIP messages over a chat protocol. However, this method does not achieve compatibility with standard SIP endpoint.